import {
	ElMessage
} from "element-plus";

//state
const state = {
	scene3d: null,
	rotate: 0,
	sceneProcess: 0,
	isDoneScene: false,
	datMods: [] ,//模板数据
	datModsType:[],//模板类型
	
	
}

//get访问器  	store.getters["mod2/dat"]("获取数据")
const getters = {
	dat: (state) => (par) => {
		return state.dat;
	},
	datMods: s => {
		return s.datMods.map(t => {
			return {
				...t,
				icon: ''
			}
		})
	},
	editDom: (state) => state.editDom,
	editNode: (state) => state.editNode,
	editRect: (state) => state.editRect,
}; 

//异步--store.dispatch("mod2/asyncFn","异步查询数据");		 
const actions = {
	asyncFn(state, t) {
		state.dispatch("asyncFn2", '测试');
		state.commit("hFn", '数据');
	},
	asyncFn2(state, t) {
		console.log("数据2", t);
	},
};

//store.commit("mod2/hFn","同步修改数据");
const mutations = {
	hSetModTemps(s, d) {
		s.datMods = d;
	},
	hSetModTempsType(s, d) {
		s.datModsType = d;
	}
}

export default {
	namespaced: true,
	state,
	getters,
	actions,
	mutations
}
/**vuex中的store分模块管理
		在store的index.js中引入各个模块
		namespaced:true，解决不同模块命名冲突的问题
		
		父级 sotre index 写法
		在不同页面中引入getter、actions、mutations时，需要加上所属的模块名
		export default new Vuex.Store({
			modules:{
        mod2 //模块
			}
		});
		export default createStore({
			modules:{
			  mod2//模块2				
			}
		});
		
		store.dispatch("mod2/asyncFn","异步查询数据");		 
		store.commit("mod2/hFn","同步修改数据");
		store.getters["mod2/dat"]("获取数据")
*/